gtk_style_lookup_color
gtk_style_lookup_icon_set
gtk_style_new
+gtk_style_param_get_inherit
+gtk_style_param_set_inherit
gtk_style_properties_clear
gtk_style_properties_get
gtk_style_properties_get_property
return found;
}
+/* GParamSpec functionality */
+
+enum {
+ GTK_STYLE_PROPERTY_INHERIT = 1 << G_PARAM_USER_SHIFT
+};
+
+/**
+ * gtk_style_param_set_inherit:
+ * @pspec: A style param
+ * @inherit: whether the @pspec value should be inherited
+ *
+ * Sets whether a param spec installed with function such as
+ * gtk_style_properties_register_property() or
+ * gtk_widget_class_install_style_property() should inherit their
+ * value from the parent widget if it is not set instead of using
+ * the default value of @pspec. See the
+ * <ulink url="http://www.w3.org/TR/CSS21/cascade.html#inheritance">
+ * CSS specification's description of inheritance</ulink> for a
+ * longer description of this concept.
+ *
+ * By default, param specs do not inherit their value.
+ **/
+void
+gtk_style_param_set_inherit (GParamSpec *pspec,
+ gboolean inherit)
+{
+ if (inherit)
+ pspec->flags |= GTK_STYLE_PROPERTY_INHERIT;
+ else
+ pspec->flags &= ~GTK_STYLE_PROPERTY_INHERIT;
+}
+
+/**
+ * gtk_style_param_get_inherit:
+ * @pspec: a style param
+ *
+ * Checks if the value of this param should be inherited from the parent
+ * #GtkWidget instead of using the default value when it has not been
+ * specified. See gtk_style_param_set_inherit() for more details.
+ *
+ * Returns: %TRUE if the param should inherit its value
+ **/
+gboolean
+gtk_style_param_get_inherit (GParamSpec *pspec)
+{
+ return (pspec->flags & GTK_STYLE_PROPERTY_INHERIT) ? TRUE : FALSE;
+}
+
/* GtkStyleProperties methods */
/**
GType gtk_style_properties_get_type (void) G_GNUC_CONST;
+void gtk_style_param_set_inherit (GParamSpec *pspec,
+ gboolean inherit);
+gboolean gtk_style_param_get_inherit (GParamSpec *pspec);
+
/* Functions to register style properties */
void gtk_style_properties_register_property (GtkStylePropertyParser parse_func,
GParamSpec *pspec);